package javase.io;

//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileReader;
//import java.io.FileWriter;
//import java.io.IOException;
//import java.io.PrintWriter;
//
//public class TreeSetTest {
//
//	public static void main(String[] args) throws IOException {
//		BufferedReader bra = new BufferedReader(new FileReader(
//				new File("a.txt")));
//		BufferedReader brb = new BufferedReader(new FileReader(
//				new File("b.txt")));
//		PrintWriter pw = new PrintWriter(new FileWriter("c.txt"));
//		String stra = bra.readLine();
//		String strb = brb.readLine();
//		StringBuffer sba = new StringBuffer();
//		StringBuffer sbb = new StringBuffer();
//		while (stra != null) {
//			sba.append(" " + stra);
//			stra = bra.readLine();
//		}
//		while (strb != null) {
//			sbb.append(" " + strb);
//			strb = brb.readLine();
//		}
//		String[] strsa = String.valueOf(sba).trim().split(" ");
//		String[] strsb = String.valueOf(sbb).trim().split(" ");
//		int lena = strsa.length;
//		int lenb = strsb.length;
//		int i = 0;
//		for (i = 0; i < lena; i++) {
//			pw.println(strsa[i]);
//			if(i<lenb){
//				pw.println(strsb[i]);
//			}
//		}
//		while(i<lenb){
//			pw.println(strsb[i++]);
//		}
//		System.out.println(strsa.length);
//		System.out.println(strsb.length);
//		pw.close();
//		bra.close();
//		brb.close();
//		
//	}
//}
//
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FileDemo04 {
	
	public static void main(String[] args) throws Exception {
//		FileManager a = new FileManager("a.txt", new char[] { '\n' });
//		FileManager b = new FileManager("b.txt", new char[] { '\n', ' ' });
//		FileWriter c = new FileWriter("c.txt");
//		PrintWriter p = new PrintWriter(c);
//		String aWord = null;
//		String bWord = null;
//		while ((aWord = a.nextWord()) != null) {
//			// c.write(aWord + "\n");
//			p.println(aWord); 
//			bWord = b.nextWord();
//			if (bWord != null)
//				// c.write(bWord + "\n");
//				p.println(bWord);
//		}
//		while ((bWord = b.nextWord()) != null) {
//			// c.write(bWord + "\n");
//			p.println(bWord);
//		}
//		c.close();
//		// new FileManager().showFile("c.txt");
		new FileDemo04().findFile();
	}
	public void findFile()throws Exception{
		File dir=new File("tmpfile\\java");
		if(!(dir.exists()&&dir.isDirectory())){
			throw new Exception("dir not exisit");
		}
		File[] files=dir.listFiles(new FilenameFilter() {
			@Override
			public boolean accept(File dir, String name) {
				return name.endsWith(".java");
			}
		});
		File dirto=new File("tmpfile\\jad");
		if(!(dirto.exists()&&dirto.isAbsolute()))
			dirto.mkdir();
		for(File f:files){
			FileInputStream fis=new FileInputStream(f);
			String tofilename=f.getName().replaceAll("\\.java$", ".jad");
			FileOutputStream fos=new FileOutputStream(new File(dirto,tofilename));
			new FileDemo04().copyFile(fis,fos);
			System.out.println(f.getName()+" "+f.getParent());
			System.out.println(tofilename);
		}
	}
	public void copyFile(InputStream is, OutputStream os) throws IOException{
		int len=0;
		byte[] b=new byte[1024];
		while((len=is.read(b))!=-1){
			os.write(b,0,len);
		}
	}
}

//class FileManager {
//	String[] words = null;
//	int pos = 0;
//	
//	public FileManager() {
//	}
//
//	public FileManager(String filename, char[] seperators) throws Exception {
//		File f = new File(filename);
//		FileReader reader = new FileReader(f);
//		char[] buf = new char[(int) f.length()];
//		int len = reader.read(buf);
//		String results = new String(buf, 0, len);
//		String regex = null;
//		if (seperators.length > 1) {
//			regex = "" + seperators[0] + "|" + seperators[1];
//		} else {
//			regex = "" + seperators[0];
//		}
//		words = results.split(regex);
//	}
//
//	public String nextWord() {
//		if (pos == words.length)
//			return null;
//		return words[pos++];
//	}
//
//	public void showFile(String filename) {
//		File f = new File(filename);
//		try {
//			FileReader fr = new FileReader(f);
//			char[] buf = new char[(int) f.length()];
//			int len = fr.read(buf);
//			String results = new String(buf, 0, len);
//			System.out.println(results);
//			fr.close();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
//	}
//	
//}
